<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS Transitions Test: Parsing invalid transition-property</title>
        <meta name="assert" content="Test checks that unrecognized or non-animatable properties must be kept in the list to preserve the matching of indices.">
        <link rel="help" title="2.1. The 'transition-property' Property" href="http://www.w3.org/TR/css3-transitions/#transition-property-property">
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
        <meta name="flags" content="dom ">

        <script src="/resources/testharness.js" type="text/javascript"></script>
        <script src="/resources/testharnessreport.js" type="text/javascript"></script>
        
        <script src="./support/vendorPrefix.js" type="text/javascript"></script>
        <script src="./support/helper.js" type="text/javascript"></script>
        
        <script id="metadata_cache">/*
        {
          "parse 'none, all'": {},
          "parse 'all, none'": {},
          "parse 'foobar'": {},
          "parse 'all, foobar'": {},
          "parse 'foobar, all'": {},
          "parse 'inherit'": {},
          "parse 'initial'": {}
        }
        */</script>
    </head>
    <body>
        <!-- required by testharnessreport.js -->
        <div id="log"></div>
        <!-- elements used for testing -->
        <div id="container">
            <div id="transition"></div>
        </div>

        <script>
            var transition = document.getElementById('transition');
            
            // syntax: none | [ all | <IDENT> ] [ ‘,’ [ all | <IDENT> ] ]* 
            var values = {
                'none, all' : 'none, all', 
                'all, none' : 'all, none', 
                'foobar' : 'foobar', 
                'all, foobar' : 'all, foobar', 
                'foobar, all' : 'foobar, all', 
                'inherit' : 'padding', 
                'initial' : 'all'
            };
            
            for (var key in values) {
                test(function() {
                    setStyle({
                        '#container': {'transition-property': 'padding'},
                        '#transition': {'transition-property': key}
                    });
                    var result = computedStyle(transition, 'transition-property');
                    assert_equals(result, values[key]);
                }, "parse '" + key + "'");
            }
        </script>
    </body>
</html>